#ifndef LOGGER_H
#define LOGGER_H
#include <mutex>
#include <string>

#include "../transaction/Operation.h"

class Logger {
public:
    Logger(const std::string& fileName);
    ~Logger();
    void log(std::string& message); // include an output to the screen
    void logTransaction(std::string transactionId, Operation operation, std::string rowId, int value);

private:
    // unk if necessary
    std::string outputFile;
    // new output stream
    std::ofstream* outputFileStream;
    std::ostream* outputStream;
    std::mutex logMutex;
};
